﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;

using Invini.System.Enums;

namespace Invini.System.Structures
{
    [StructLayout(LayoutKind.Explicit)]
    public struct RawInputDeviceInfo
    {
        [FieldOffset(0)]
        [MarshalAs(UnmanagedType.U4)]
        public uint cbSize;

        [FieldOffset(4)]
        public RawInputDeviceType Type;

        [FieldOffset(8)]
        public RawInputDeviceInfoMouse Mouse;

        [FieldOffset(8)]
        public RawInputDeviceInfoKeyboard Keyboard;

        [FieldOffset(8)]
        public RawInputDeviceInfoHID HID;
    }
}
